package com.myiam.idm.core.services;

import java.util.List;

import com.myiam.idm.core.model.Account;
import com.myiam.idm.core.model.Password;
import com.myiam.idm.core.services.exceptions.AccountCreateException;
import com.myiam.idm.core.services.exceptions.IdentityDoesNotExist;


public interface AccountService {
	
	/**
	 * create an account for an idenity
	 * 
	 * @param account
	 * @param id		identifier of the identity
	 */
	public void create (Account account, long identityId) 
			throws AccountCreateException;
	
	/**
	 * generate a new random password according to passwordgeneration strategys
	 * @return
	 */
	public Password	generatePassword();
	
	public List<Account> getAccountsForIdentity (long id);
	
	

}
